#pragma once
#include <vector>
#include <iostream>
#include <ctime>

typedef void (*task_t)();

void task1()
{
    std::cout << "这是一个打印日志任务" << std::endl;
}

void task2()
{
    std::cout << "这是一个上传任务" << std::endl;
}

void task3()
{
    std::cout << "这是一个下载任务" << std::endl;
}


class TaskManger
{
public:
    TaskManger()
    {
        srand(time(nullptr));
    }
    void Register(task_t t) 
    {
        _task.push_back(t);
    }
    int Code() 
    {
        return rand()% _task.size();
    }
    void Excute(int code)
    {
        if(code >= 0&& code < _task.size())
        {
            _task[code];
        }
    }
    ~TaskManger()
    {
        
    }
private:
    std::vector<task_t> _task;
};